The present invention relates generally to methods and systems for synchronizing data, and more particularly to a method and system for synchronizing multimedia streams.
A common approach in multimedia inter-media and intra-media synchronization consists of introducing time-stamps in the media stream, which time stamps carry information relative to an absolute clock reference and relative to events to be synchronized. The Program Clock Reference (PCR) and Decoding Time Stamps (DTS) and Presentation Time Stamps (PTS) of MPEG-2 are an example of such an approach. The receiver decodes the time-stamps and synchronizes the streams accordingly.
In case of small amounts of jitter due to transmission of processing delays, mechanisms of clock recovery and jitter compensation, such as Phase Locked Loops (PLLs), are employed at the receiver end. Normally, these mechanisms work satisfactorily in the case of small amounts of jitter.
The disadvantages of such approaches, however, are the lack of flexibility and adaptability. If the jitter of one of the time stamps is too high the receiver does not have the means to compensate it. In this case, synchronization is lost forever for the event to be synchronized by this time stamp. Furthermore, if the encoder does not know the exact timing of the decoder, the encoder cannot specify all the time-stamps and the method is not applicable.
The present invention is therefore directed to the problem of developing a method and system for synchronizing multimedia streams that is highly reliable despite the presence of large amounts of jitter, and that operates independently and without a priori knowledge of the timing of the decoder when encoding the data.